---
"How to build a simple static blogging website like this!"
title: "Dun Zhang"
author: "2025-06-19"
date:
categories: [Quick Start]
jupyter: python3---
Why building a blogging website?
- Knowledge understanding is further enhanced by writing.
- Sharing knowledge with others is a great way to help them.
- Absolute control of my website is guaranteed.
- Websites are accessible as long as one has a browser and internet connection.
Overview of how this website is built
- All the content of this website is written with Python and Markdown language in Jupyter Notebooks using .ipynb file.
- Notebook files are converted to HTML using Quarto.
- HTML files are hosted in Github Pages (a static web server).
Tips
- Quarto is recommended by fast.ai. Everyhing is just so easy with Quarto.
- Go to the official website of Quarto to learn how to use it. Follow “Quickstart” section, “Building a Blogging Website” section, and “Publishing a Website on Github Pages” section.
- Note that Quarto is recommended for users who are familiar with Python and Markdown language written in Jupyter Notebooks.
- Everything is recommended to be done in a new enviroment other than the base (boot) environment.
- Although some dynamic logic functions are supported in Quarto, I do not recommend to use since many minor problems exist which may frustrate you. Just regard this website as a static website.
- For prototyping deployment, I recommend to generate the web app by using Gradio (providing web UI) with Hugging Face Spaces (providing free server). Then, write a hyperlink to the app website in this blogging website.
I will not provide detailed instructions on how to use Quarto here, as it is well documented in the official website. Instead, I will provide a few commonly used syntaxes in daily posting after I have built this blogging website.
Every new post should be named index.ipynb
stored in a new directory under the posts
directory. At the top of each post, there is a YAML header that contains metadata about the post, such as title, date, and tags, that is in the following format:
Some commonly used commands are
quarto render--execute
quarto render quarto preview